package lanqiao.demo;

import java.util.Scanner;

/**
 * 蓝桥杯第十一届真题：字符串编码
 *
 * A和1相差64，A的ASCII码是65，a的ASCII码是97；ASCII码表中，一个字母的大小写数值相差32
 * 数字字符 + 64 = 字符
 * 数字字符 - '0' = 数字本身
 * 解析:
 * 1. 先用前两个字符组成一个两位数，如果两位数小于27，则输出该字符。在i++的基础上再次i++
 * 2. 如果大于26 则取第一个数字 转为字母,输出
 */

public class Test6 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String s = scanner.nextLine();
        char[] chars = s.toCharArray();
        int i;
        for ( i = 0; i < chars.length-1; i++) {
                int a = chars[i]-'0';
                int b = chars[i+1]-'0';
                int r = a*10+b;
                if (r<27){

                    //如果前两个字符连一起小于等于26，说明可以组合成字母，
                    char ch = (char) (r+64);
                    System.out.print(ch);
                    i++;
                }else {
                    //如果前两个字符连一起大于27，说明不能组成字母，只能拆开用第一个
                    char ch = (char)(a+64);
                    //不拼接字符串的话就直接输出
                    System.out.print(ch);
                }

        }
        //补全最后一位，防止有落下
        if (i<chars.length){
            char ch = (char) (chars[i]-'0'+64);
            System.out.print(ch);
        }

    }
}
